package com.le.tester.book.effectivejava3rdchinese.secondReading.l32;

import java.util.List;

/**
 * createTime：2024-09-11 13:35
 * description：
 */
public class Demo {

    public static void dangerous(List<String> stringList) {

//        List<Integer> intList = Lists.newArrayList(42);
//        //不要这么做
//        Object[] objects = stringList;
//
//        objects[0] = intList;
//
//        String s = stringList[0].get(0);
    }
/**在泛型方法中调用泛型方法，参数在擦除或者说转换的时候，总是不安全的
 * 在泛型的使用中，列表中使用泛型比在数组中使用泛型来的安全得多
 public static <T> T[] toArray(T... args) {
 return args;
 }

 public static <T> T[] pickTwo(T a, T b, T c) {
 switch (ThreadLocalRandom.current().nextInt(3)) {
 case 0:
 //报警了，编译没问题，运行可能就出问题了
 return toArray(a, b);
 case 1:
 return toArray(a, c);
 case 2:
 return toArray(b, c);
 }
 throw new AssertionError();
 }

 public static void main(String[] args) {
 String[] attributes = pickTwo("Good", "Fast", "Cheap");
 }
 */
}
